home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 19
/
Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso
/
Aminet
/
comm
/
maxs
/
dfbv13.lha
/
dfb
/
Developers
/
includes
/
dfb.i
< prev
Wrap
Text File
|
1992-09-02
|
12KB
|
400 lines
IFND DFB_DFB_I
DFB_DFB_I SET 1
**
** $Filename: dfb/dfb.i $
** $Release: 1.2 $
**
**
** (C) Copyright 1994-6, Andrew Leppard
**
** This file may be freely copied as long as it is in no way
** altered.
IFND EXEC_TYPES_I
INCLUDE "exec/types.i"
ENDC
*----------------------------------------------------------------
*
* Dynamic File Base - File Node Structure
*
*----------------------------------------------------------------
STRUCTURE FB,0
UWORD FB_LENGTH * length of this node
UBYTE FB_MIN * time of upload ( mins after hour )
UBYTE FB_HOUR * ( hour after day )
UBYTE FB_DAY * date of upload
UBYTE FB_MONTH
UWORD FB_YEAR
ULONG FB_FILESIZE * Size of file
UWORD FB_SECTION * DFB file section (65,000+ reserved)
UWORD FB_DOWN * number of d/ls
UBYTE FB_STATUS * See below
UBYTE FB_pad
ULONG FB_FUTURE * future expansion
UWORD FB_NAMELEN * length of file name -
UWORD FB_DESCLEN * length of description
UWORD FB_UPLOADERLEN * length of uploader's name
UWORD FB_ALIASLEN * length of uploader's alias
APTR FB_NAME * file name
APTR FB_DESC * file description
APTR FB_UPLOADER * uploader's name
APTR FB_ALIAS * uploader's alias
LABEL FB_SIZEOF
ATSTART EQU 0 * Position file base at start
ATEND EQU -$1 * Position file base at end
CUSTOMSTART EQU 2 * Position file base at start - custom dfb.data file supplied in D1
STARTLOCK EQU "EXLU" * Position file base at start and have exclusive access
OLD_USER EQU 0 * Return code from GetUser, 0=old user
NEW_USER EQU 1 * 1=had to create it
FORCE_RETN EQU $f0 * For file descriptions/upload sigs include this
* before to make sure its on a seperate line
QUICKMODE EQU "QUIK"
*------ FB_STATUS bit definitions:
BITDEF FB,DELETED,0 * file has been deleted
BITDEF FB,LOCKED,1 * file is locked
BITDEF FB,PUBLIC,2 * file is public
BITDEF FB,FREE,3 * file is a free download
BITDEF FB,OFFLINE,4 * file is stored offline
BITDEF FB,ASTALAVISTA,5 * file node should be ignored
BITDEF FB,MOVED,6 * file has been moved/shifted
BITDEF FB,NEEDSDESC,7 * file needs user to type in a description
*------ Display Node early stop bits
BITDEF AF,STATUS,0 * After status
*------ FindFile options
BITDEF FF,POS,0 * Find position of file as well
BITDEF FF,PARTIAL,1 * Find file from partial text (NOT IMPLEMENTED)
BITDEF FF,CONT,2 * Continue search from position in d1 (NOT IMPLEMENTED)
*------ Handle structure returned after call OpenFileBase
BUFFER_SIZE EQU 20*1024 * 20Kb
MAX_NODE_SIZE EQU 3200 * Maximum size a node can be
STRUCTURE OF,0
ULONG OF_FILEHANDLE * File handle of dfbdata:dfb.data
UWORD OF_LENGTH * Length of node just read (0 if at start)
UWORD OF_NEXTLENGTH * Length of next file node (0 if at last)
ULONG OF_ENTRY * Node # of NEXT file node (this does not count nodes marked with ASTALAVISTA)
ULONG OF_FILES * Number of files in file base
APTR OF_PREFERENCES * Pointer to current preferences data
STRUCT OF_TEMP,FB_SIZEOF * Internal data/free ram space
STRUCT OF_PREFREE,1*4
STRUCT OF_FREE,33*4
STRUCT OF_MOREFREE,6*4
STRUCT OF_OTHERFREE,33*4
ULONG OF_POINTER
ULONG OF_POINTER2
STRUCT OF_DISPLAY,30 * For DisplayNode function
STRUCT OF_SMALL,100
STRUCT OF_LASTFREE,32
LABEL OF_SIZEOFFAKE * The rest of this data is for V1.01+
LABEL OF_S_NODES * Nodes
ULONG OF_NODESIZE * How many bytes in of_nodes are used
LABEL OF_S_NODEPTR * Pointer to nodes
ULONG OF_WHERE * Where are we ?
LABEL OF_S_NODEAT * Node we are at
STRUCT OF_NODES,BUFFER_SIZE
* 15K for node data
ULONG OF_COLPOINTER * Pointer to colour table, if you want
* Display node to use a custom table fix this
* pointer to your table and dfb.library will
* happily use the new table
LABEL OF_SIZEOF * THIS VALUE WILL CHANGE DO NOT TRUST IT!!!!
*----- Returned from GetFilePaths() V2
STRUCTURE FP,0
APTR FP_MEM1709 * Ptr to file paths from MAX's config file
APTR FP_MEM * Ptr to file paths from file path file
APTR FP_MEMSIZE * Size of memory
UBYTE FP_BUSY * If !=0 then DFB is loading file paths
LABEL FP_SIZEOF
*----------------------------------------------------------------
*
* Dynamic File Base - Preferences
*
*----------------------------------------------------------------
COMPSIZE1 EQU 200 * Length of first compressed max data size
COMPSIZE2 EQU 200
COMPSIZE3 EQU 100
COMPSIZE4 EQU 50
STRUCTURE PF,0
STRUCT PF_HEADER,50 * Header saying which version etc
ULONG PF_LENGTH * Length of preferences
APTR PF_SECTIONS * Pointer to first section
UBYTE PF_OPTIONS * Various options
UBYTE PF_OPTIONS2 * Other options
UBYTE PF_DAY * Last time user manager was run
UBYTE PF_MONTH
UWORD PF_YEAR
UBYTE PF_FREQUENCY * How many days between file manager updates
UBYTE PF_RATIOTYPE * Type of file ratio (see below)
STRUCT PF_ARCHDIR,40 * Directory of archivers
STRUCT PF_ARCHBAK,40 * Archive backup file name?
STRUCT PF_DESCEDITOR,40 * Sysop file editor - description editor prog
STRUCT PF_LAYOUT1,40 * Names of the files with the compressed data
STRUCT PF_LAYOUT2,40
STRUCT PF_LAYOUT3,40
STRUCT PF_LAYOUT4,40
UWORD PF_DEFRATIO1 * Default login ratios
UWORD PF_DEFRATIO2
UWORD PF_DEFRATIO3
UWORD PF_DEFRATIO1ST * Standard ratios
UWORD PF_DEFRATIO2ST
UWORD PF_DEFRATIO3ST
UWORD PF_DEFRATIO1E * Enhanced member ratios
UWORD PF_DEFRATIO2E
UWORD PF_DEFRATIO3E
UWORD PF_MDAYSST * Membership days (Standard)
UWORD PF_MDAYSE * (Enhanced)
UWORD PF_MACCESSST * Membership access (Standard)
UWORD PF_MACCESSE * (Enhanced)
UWORD PF_ACCESS * Non-member (drop down) access
UWORD PF_TIME * Non-member time limit
UWORD PF_MTIMEST * Members time limit (Standard)
UWORD PF_MTIMEE * (Enhanced)
STRUCT PF_EXT1,12 * Extensions (max 3)
STRUCT PF_EXTR1,40 * How to extract file_id.dizs
STRUCT PF_UP1,40 * What to do on upload
STRUCT PF_LIST1,40 * How to handle file view
STRUCT PF_EXT2,12
STRUCT PF_EXTR2,40
STRUCT PF_UP2,40
STRUCT PF_LIST2,40
STRUCT PF_EXT3,12
STRUCT PF_EXTR3,40
STRUCT PF_UP3,40
STRUCT PF_LIST3,40
STRUCT PF_EXT4,12
STRUCT PF_EXTR4,40
STRUCT PF_UP4,40
STRUCT PF_LIST4,40
STRUCT PF_EXT5,12
STRUCT PF_EXTR5,40
STRUCT PF_UP5,40
STRUCT PF_LIST5,40
STRUCT PF_EXT6,12
STRUCT PF_EXTR6,40
STRUCT PF_UP6,40
STRUCT PF_LIST6,40
STRUCT PF_EXT7,12
STRUCT PF_EXTR7,40
STRUCT PF_UP7,40
STRUCT PF_LIST7,40
STRUCT PF_EXT8,12
STRUCT PF_EXTR8,40
STRUCT PF_UP8,40
STRUCT PF_LIST8,40
STRUCT PF_EXT9,12
STRUCT PF_EXTR9,40
STRUCT PF_UP9,40
STRUCT PF_LIST9,40
STRUCT PF_EXT10,12
STRUCT PF_EXTR10,40
STRUCT PF_UP10,40
STRUCT PF_LIST10,40
UBYTE PF_FDAY * Last file manager
UBYTE PF_FMONTH
UWORD PF_FYEAR
UBYTE PF_DFBFILES * Settings of DFBCheck's cycle gadgets
UBYTE PF_HDFILES
STRUCT PF_FUTURE,5 * Reserved
UBYTE PF_DEFAULT * Row to use if no extension (0=do nothing)
STRUCT PF_COMPRESSED1,COMPSIZE1 * How the data is displayed (LONG)
STRUCT PF_COMPRESSED2,COMPSIZE2 * (LONG)
STRUCT PF_COMPRESSED3,COMPSIZE3 * (SHORT)
STRUCT PF_COMPRESSED4,COMPSIZE4 * (V.SHORT)
STRUCT PF_UPLOADDIR,40 * Default upload directory
STRUCT PF_FUTURE2,10
LABEL PF_SIZE
FILERATIO EQU 0 * Ratio system being used
BYTERATIO EQU 1
CREDITRATIO EQU 2
ARC_EXTENSIONS EQU 10 * Number of dif. extensions possible
*------ PF_OPTIONS bit definitions:
BITDEF PF,DELONPURGE,0 * Delete files on purge or else before
BITDEF PF,NEWFILESPUBLIC,2 * Make new files public?
BITDEF PF,FILEID,3 * Use file_ids?
BITDEF PF,RATIO12,4 * Ratios 1 & 2 are linked (1=yes)
BITDEF PF,RATIO23,5 * Ratios 2 & 3 are linked
BITDEF PF,RATIO13,6 * Ratios 1 & 3 are linked
BITDEF PF,WBTOFRONT,7 * Workbench to front on file desc editing
*------ PF_OPTIONS2 bit definitions:
BITDEF PF,ENHTOSTAND,0 * After enhanced membership exp go to standard?
BITDEF PF,HEADERS,1 * Use file headers?
BITDEF PF,SHOWOFFLINE,2 * DFBCheck - show offline files?
BITDEF PF,SHOWDELETED,3 * DFBCheck - show deleted files?
*------ Colour table (used for DisplayNode() )
STRUCTURE COLTABLE,0
UBYTE CT_IDENT * The Letter C Colour table!
UBYTE CT_IDENT2 * The Number 1 V1
ULONG CT_TEXT * Text to display (optional)
UBYTE CT_ALIAS * Alias colour "0"+0->7
UBYTE CT_FILENAME * File name colour
UBYTE CT_HIGHLIGHT * File name colour when highlighted
UBYTE CT_UPLOADER * Uploader colour
UBYTE CT_DESCRIPTION * Description colour
UBYTE CT_SIZE * File size colour
UBYTE CT_DATE * Date colour
UBYTE CT_TIMES * Times uploaded colour
ULONG CT_EXTRA * you never know...
ULONG CT_EXTRA2
ULONG CT_EXTRA3 * you still dont know...
LABEL COLTABLE_SIZEOF
*------ Compressed data format:
STRUCTURE CMP,0
STRUCT CMP_HEADER,8 * text: 'DFB_COMP'
UBYTE CMP_DESCLINES * Max number of description lines displayed
UBYTE CMP_DESCWIDTH * Width of first (all) description lines
STRUCT CMP_CMPDATA,90 * Compressed data
LABEL CMP_SIZEOF
STRUCT CMP_CMPDATAL,100 * Extra 100 bytes if its long format
LABEL CMP_SIZEOF_LONG
*------ Section data
STRUCTURE SE,0
UWORD SE_NUMBER * Section Number
APTR SE_NEXTSECTION * Pointer to next section
UWORD SE_ACCESSACCESS * Access needed to access section
UWORD SE_VIEWACCESS * Access needed to view files
UWORD SE_REMOTEACCESS * Access needed for user to edit files
UWORD SE_READACCESS * Access needed for user to see extra stuff about files
UWORD SE_UPLOADACCESS * Access needed for user to u/l
UWORD SE_DOWNLOADACCESS * Access needed for user to d/l
UWORD SE_WHEN * When files are shifted (0=never shifted)
UWORD SE_WHERE * Where do files go? (0=To Heaven)
UWORD SE_MAXMBS * Maximum number of megabytes in file section (0=no limit)
STRUCT SE_NAME,40 * Section name
STRUCT SE_HOME,40 * Upload directory, main directory
UWORD SE_CURRENT * Current size in MBs (*CAUTION*)
UBYTE SE_RATIO * Ratio used in section (1,2 or 3)
UBYTE SE_STATUS * Status of file section (see below)
ULONG SE_LASTSIZE * Reserved
LABEL SE_SIZEOF
*------ SE_STATUS bit definitions:
BITDEF SE,OFFLINE,0 * Section has been taken offline
BITDEF SE,SIGS,2 * Use upload signatures?
BITDEF SE,NAME,3 * Print uploader name
BITDEF SE,ALIAS,4 * Print uploader alias
BITDEF SE,FREE,5 * Section is free download area
BITDEF SE,CDROMDAT,6 * Section has different dfb.data file
*----------------------------------------------------------------
*
* Dynamic File Base - User Statistics
*
*----------------------------------------------------------------
STRUCTURE US,0
STRUCT US_NAME,42 * Name of user
UWORD US_ACCESS * Current access level
UWORD US_RATIO1 * File Ratio (Link #1)
UWORD US_RATIO2 * File Ratio (Link #2)
UWORD US_RATIO3 * File Ratio (Link #3)
UWORD US_DAYSLEFT * Days left before account expires (0=doesnt expire)
UWORD US_TIMELIMIT * Daily time limit
UBYTE US_MIN * the date which user is up to listing the
UBYTE US_HOUR * files
UBYTE US_DAY
UBYTE US_MONTH
UWORD US_YEAR * And year! (not V1.00)
ULONG US_DLS1 * downloads L1 (Link #1)
ULONG US_DLS2 * downloads L2
ULONG US_DLS3 * downloads L3
ULONG US_ULS1 * uploads L1
ULONG US_ULS2 * uploads L2
ULONG US_ULS3 * uploads L3
UWORD US_DESCRIPTIONS * File descriptions to be entered (V1.12)
STRUCT US_FUTURE,8 * Future upgrades
STRUCT US_SIGNATURE,100 * Signature to append to end of file description
LABEL US_SIZEOF
ENDC